using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Abp.Domain.Entities;
using Abp.Domain.Entities.Auditing;

namespace Yozeev.BusinessLogic
{
    /// <summary>
    /// 价格审核
    /// </summary>
    public class PriceAudit : ByBranchEntity<Guid>
    {
        /// <summary>
        /// 航班标识
        /// </summary>
        //public Guid ScheduleId { get; set; }
        //[ForeignKey("ScheduleId")]
        //public virtual Schedule Schedule { get; set; }
        /// <summary>
        /// 票种标识
        /// </summary>
        public Guid TicketId { get; set; }
        [ForeignKey("TicketId")]
        public virtual Ticket Ticket { get; set; }
        /// <summary>
        /// 原票型价格标识
        /// 有则根据“是否启用”处理原票型价格记录
        /// </summary>
        [StringLength(50)]
        public Guid? OrgTicketPriceId { get; set; }
        [ForeignKey("OrgTicketPriceId")]
        public virtual TicketPrice OrgTicketPrice { get; set; }
        /// <summary>
        /// 是否启用
        /// </summary>
        public bool IsEnabled { get; set; }
        /// <summary>
        /// 变动后价格
        /// </summary>
        public decimal Price { get; set; }
        /// <summary>
        /// 变动后折扣
        /// </summary>
        public decimal Discount { get; set; }
        /// <summary>
        /// 变动后退款折扣
        /// </summary>
        public decimal RDiscount { get; set; }
        /// <summary>
        /// 上架时间
        /// </summary>
        public DateTime UpperTime { get; set; }
        /// <summary>
        /// 下架时间
        /// </summary>
        public DateTime? LowerTime { get; set; }
        /// <summary>
        /// 审核状态
        /// </summary>
        public AuditStatusEnum AuditStatus { get; set; }
        /// <summary>
        /// 票价名称
        /// </summary>
        public string TicketName { get; set; }
        /// <summary>
        /// 仓位
        /// </summary>
        public WareHousePosition WarePosition { get; set; }
    }
}
